package com.sg.service.base.framework;

import com.sg.dto.base.framework.req.*;
import com.sg.entity.ChangeColumn;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MChangeColumnService {
    /**
     * 1-1-02批量改底层变更字段
     */
    boolean batchUpdateBaseChangeCol(List<ChangeColumn> changeColumn);

    /**
     * 1-1-02批量查询变更字段列表ByCodes
     */
    List<ChangeColumn> batchQueryBaseChangeColListByCodes(BatchQueryBaseChangeColListByCodesReq reqDto);

    /**
     * 1-1-02批量新增底层变更字段
     */
    boolean batchAddBaseChangeCol(List<ChangeColumn> changeColumn);

    /**
     * 1-1-02查询底层变更字段列表
     */
    List<ChangeColumn> queryBaseChangeColList(QueryBaseChangeColListReq reqDto);

    /**
     * 1-1-02批量删除底层框架服务变更字段
     */
    boolean batchDeleteBaseChangeColumn(List<String> reqDto);

    /**
     * 1-1-02删除底层框架服务变更字段
     */
    boolean deleteBaseChangeColumn(String changeColumnId);

    /**
     * 1-1-02批量查询变更字段列表ByIds
     */
    List<ChangeColumn> batchQueryBaseChangeColListByIds(BatchQueryBaseChangeColListByIdsReq reqDto);

    /**
     * 1-1-02修改底层变更字段
     */
    boolean updateBaseChangeCol(ChangeColumn changeColumn);

    /**
     * 1-1-02新增底层框架服务变更字段
     */
    String addBaseChangeColumn(ChangeColumn changeColumn);

    /**
     * 1-1-02查询底层变更字段详情
     */
    ChangeColumn queryBaseChangeColDetail(QueryBaseChangeColDetailReq reqDto);

    /**
     * M1-1-02执行变更字段【循环开始】
     */
    ChangeColumn implementChangeColLoopStart(ImplementChangeColLoopStartReq reqDto);
    //
}
